---
title: 运维手册
---

本节介绍 Univer 提供的后端服务运维资源，帮助你更好地了解 Univer 后端服务的运行情况、定位故障、管理容量。

Univer 提供了以下可观测支持：

- Prometheus metrics 指标
- 服务日志

## Metrics

Univer 后端服务输出了 Prometheus 指标，如果你配置了 Univer 部署内置的可观测组件，你可以直接打开 Grafana 查看，我们已经内置了一组 Grafana 监控面板，包括：

- 基础组件：rabbitmq、redis、rds
- 协同服务 collaboration-server
- 主服务 universer
- 导入导出服务 exchange

你可从中实时查看 Univer 服务的性能指标、可用性、关键业务指标。如果你使用的是自己的监控系统，可以[点此下载](https://release-univer.oss-cn-shenzhen.aliyuncs.com/release/univer-grafana-dashboards.tar.gz) Univer 准备好的 grafana 监控面板配置。

Grafana 看板基础说明：

1. 服务黄金 4 指标，重点观测 QPS、整体和各 API 的 SLI、错误码分布

![服务黄金 4 指标](./sre-manual/golden-4-metrics.png)

2. 业务视角的基础组件性能和可用性

- RDS

![RDS 性能和可用性](./sre-manual/rds-metrics.png)

- Redis & MQ

![Redis 和 MQ 性能和可用性](./sre-manual/redis-and-mq.png)

3. 协同编辑业务指标

![协同编辑业务指标](./sre-manual/collaboration-edit-metrics.png)

4. 如果你开启了 USIP 集成，可以观测 Univer 服务侧视角的技术指标

![USIP 技术指标](./sre-manual/usip-metrics.png)

## 服务日志

如果你使用 docker compose 部署，可以通过 docker 命令直接查看对应容器的日志。Univer 后端服务的日志除了输出到标准输出，还会输出到持久化卷，但不会永久保存。当单个服务实例的日志总大小超过 1G 时会立即清除部分较早的日志，即使日志大小未超过 1G，最多也只会保留 30 天，超过 30 天的那部分日志文件将被清除。你可以直接打开对应的日志文件查看。universer 服务的日志保存在部署目录下的 `/logs/universer/`，导入导出服务的日志则保存在 `/logs/worker-exchange/`

不论你是用 docker compose 还是 k8s 部署，如果你配置部署了 Univer 内置的可观测组件，还可以使用 Loki 查看日志。查看路径：grafana Toggle Menu -> Explore，数据源选择 Loki，如下图所示：

![Loki 日志搜索](./sre-manual/loki-search.png)

当然，如果你已有自己的日志组件，可以配置采集 Univer 的日志。Univer 后端服务的日志都会输出到标准输出。

## 常见错误排查

1. 发现服务出现某些功能不可用

首先，打开监控面板，检查访问基础组件 RDS、MQ、Redis 是否正常，即查看 SLI 是否正常，如果 SLI 异常，一般就是基础组件故障或服务和基础组件的网络故障。

如果基础组件访问正常，再查看 universer 服务的 ingress 和 egress 的各接口 SLI 是否正常，如果有某些接口 SLI 异常，可查看此接口返回的错误码，根据错误码能了解一些原因。同时，通过 Grafana Loki 尝试搜索该错误码的日志，搜索关键词：biz_code=the_biz_err_code。可通过这些信息进一步定位问题根因。
